package com.xyz.service;


import com.xyz.dto.PatrolPlanDto;
import com.xyz.dto.PlanInfoDto;
import com.xyz.dto.UpkeepCalendarDto;
import com.xyz.entity.vo.UpkeepDbTaskExportVo;
import com.xyz.util.dto.DataResult;
import com.xyz.util.dto.LoginInfo;

import java.util.List;

public interface PlanInfoService {

    DataResult getPlanAll(LoginInfo loginInfo, PlanInfoDto planInfoDto) throws Exception;

    DataResult getPlanTemplateByDate(LoginInfo loginInfo, PlanInfoDto planInfoDto) throws Exception;

    DataResult selectTemplateGroup(LoginInfo loginInfo, PlanInfoDto planInfoDto) throws Exception;

    DataResult getPatrolPlanAll(LoginInfo loginInfo, PatrolPlanDto patrolPlanDto) throws Exception;

    DataResult getPatrolPlanTemplateByDate(LoginInfo loginInfo, PatrolPlanDto patrolPlanDto) throws Exception;

    DataResult selectPatrolTemplateGroup(LoginInfo loginInfo, PatrolPlanDto patrolPlanDto);

    DataResult selectUpkeepDbTask(LoginInfo loginInfo, String emId, String taskName) throws Exception;

    DataResult selectBasicUpkeepDbTask(LoginInfo loginInfo, int pageNum, int pageSize, String treeId, String emId, String taskName) throws Exception;

    DataResult insertUpkeepDbTask(LoginInfo li, Long treeId, Long emId, String taskName, String taskDesc, String remark,String precautions) throws Exception;

    DataResult importBasicUpkeepDbTask(LoginInfo li,List<UpkeepDbTaskExportVo> records) throws Exception;

    DataResult updateUpkeepDbTask(LoginInfo li, Long id, Long treeId, Long emId, String taskName, String taskDesc, String remark,String precautions) throws Exception;

    DataResult deleteUpkeepDbTask(LoginInfo li, long id) throws Exception;

    DataResult getUpkeepCalendar(LoginInfo loginInfo, UpkeepCalendarDto upkeepCalendarDto) throws Exception;

    DataResult selectUpkeepCalendarEm(LoginInfo loginInfo, Long treeId, Integer year) throws Exception;

}
